#ifndef VALEUR_H
#define	VALEUR_H

#include <string>
using namespace std;

class Valeur {
// Classe Valeur abstraite permettant de définir tout les types possible
// du langague.
public:
    virtual ~Valeur(){};
};

class ValeurEntiere : public Valeur {
//Classe représentant une valeur entière
public:
    ValeurEntiere(int val);
    ~ValeurEntiere(){};
    inline int getValeur(){return val;}
    inline void setValeur(int val) {this->val = val;}
private:
    int val;
};

class ValeurChaine : public Valeur {
//Classe représentant une chaine de caractère
public:
    ValeurChaine(string val);
    ~ValeurChaine(){};
    inline string getValeur() {return val;} 
    inline void setValeur(string val) {this->val = val;}
private:
    string val;
};

class ValeurFlottant : public Valeur{
//Classe représenant une valeur réelle
public:
    ValeurFlottant(float val);
    ~ValeurFlottant(){};
    inline float getValeur(){return val;}
    inline void setValeur(float val) {this->val=val;}
private:
    float val;
};
#endif	/* VALEUR_H */

